package edu.utn.tacs.grupouno.dao.implementations;

import java.util.List;

import org.hibernate.Query;

import edu.utn.tacs.grupouno.dao.AnalisisTipoDAO;
import edu.utn.tacs.grupouno.negocio.AnalisisTipo;

public class AnalisisTipoDAOHibernate extends AbstractHibernateDAO implements AnalisisTipoDAO {

	@Override
	public List<AnalisisTipo> getAnalisisTipo() {
		List<AnalisisTipo> analisisTipo =  getSession().createQuery("from AnalisisTipo").list();
		return analisisTipo;
	}

	@Override
	public AnalisisTipo getAnalisisTipo(String id) {
		Query query= getSession().createQuery("from AnalisisTipo where id = ?");
		query.setString(0, id);
		List<AnalisisTipo> analisisTipo = query.list(); 
		return analisisTipo.isEmpty()? null: analisisTipo.get(0);
	}

	@Override
	public void saveAnalisisTipo(AnalisisTipo analisisTipo) {
		getSession().saveOrUpdate(analisisTipo);
	}

	@Override
	public void removeAnalisisTipo(String id) {
		Query query= getSession().createQuery("from AnalisisTipo where id = ?");
		query.setString(0, id);
		List<AnalisisTipo> analisisTipo = query.list();

		if( ! analisisTipo.isEmpty() ){
			getSession().delete(analisisTipo.get(0));
		}
	}
}